As is known, modern telematic networks based on the Internet Protocol (IP), such as the Internet network, henceforth referred to as IP networks, nowadays constitute the telecommunications infrastructure on which an ever-increasing number of services and applications are destined to converge. Many of the new applications, such as voice (VoIP, Voice over IP) and video communications, require high levels of reliability and availability that translate into increasingly pressing requirements regarding the performance of network safety mechanisms in the case of a fault. The protocols of the Internet Suite can be used to implement widespread communications, via a group of individual networks, different for the type of technology used, in particular both of local type (Local Area Networks—LAN) and of geographical type (Wide Area Networks—WAN), which are interconnected in various ways to form what, as a whole, is typically called an internetwork.
The IP networks or internetworks are thus created via the interconnection of various subnetworks, through devices called routers, which are capable of forwarding data packets to the destination network based on the address contained within them.
With reference to the Open System Interconnection (OSI) model, routers process data packets at Layer 3 (Network Layer) and implement the transfer of information (routing) from the source to the destination via the IP network. To reach the destination, data packets generally pass through one or more intermediate nodes (routers), each of which determines, based on the contents of its own routing table, which is the next router (generally known as next hop) to which data packet are to be forwarded in order to reach the final destination. The look-up in the routing table for the next hop to use involves running a so-called “longest match” process on the address prefixes contained in routing table, using the destination IP address of the data packet being processed as the look-up key. On IP networks, routing is normally performed by using dynamic routing protocols that first acquire information of the network topology, then compute the route to the destination based on the network topology and appropriate cost metrics, and finally allow the contents of the routing table to be automatically compiled and updated.
Routers can be interconnected via several different transmission technologies, among which Local Area Networks (LAN) and Metropolitan Area Networks (MAN) represent transmission technologies of particular interest because they employ network devices which are known as switches and are widely used in the creation of data packet networks, in particular switches based on Ethernet technology. In detail, switches are devices that perform functions that, for some aspects, are similar to those performed by routers, and are used to make sub-networks that are homogeneous in terms of the technology employed. Nevertheless, unlike routers, switches process data packets at Layer 2 (Link Layer) of the OSI model, and this function is generally know as “bridging”. The main difference between routers and switches is thus determined by the different “positioning” of the respective functions in the layered network architecture.
In networks including switches based on Ethernet technology, switching is managed by consulting a bridging table in which, in correspondence to the Layer 2 addresses, also known as Medium Access Control (MAC) addresses, there are specified the ports on which the respective data packets with a particular destination MAC address must be transmitted. Unlike the routing tables, the bridging tables are not compiled via routing protocols, but via learning mechanisms which are based on inspection of the MAC addresses of the received data packets, and which, in the case of unknown MAC addresses, provide for the broadcast (or flooding) transmission of the data packet on the ports.
When faults occur that involve routers or transmission links, routers must be able to detect the unreachability of the neighboring nodes and ensure the recovery of data packet forwarding, using any alternative routes that are available.
In particular, it is the task of the dynamic routing to recompute the routes, based on the new network typology, to determine an alternative routing for the data traffic affected by the fault. In order to guarantee limited service inefficiency, especially for services characterized by more stringent requirements, such as VoIP services, it is necessary to minimize rerouting time, in particular the time needed to complete the convergence process of the routing protocol.
Rapid convergence of the routing protocol can be achieved only by promptly identifying the occurrence of a fault, or rather the unreachability of a neighboring router.
In order to do so, routing protocols utilize the periodic exchange of appropriate messages, generally known as “hello” messages, for checking the reachability of neighboring routers, and fault detection time depends on the frequency of the “hello” messages. However, this frequency cannot easily be increased due to the processing load that the management of the “hello”, messages involves and the additional traffic on the network. Typically, the generation frequency of the “hello” messages is set to one each ten seconds and a connectivity is declared as lost when non-reception of a predetermined number (typically four) of consecutive reply messages is detected, or when a predetermined maximum time (such as forty seconds) is passed from reception of the last message. This limitation becomes even more evident the larger the number of neighboring routers with which the “hello” messages must be exchanged.
For this reason, fault detection and notification of this event to the routing protocol is, as a rule, expediently entrusted to the lower layers, such as the physical or data link layer. This is the case of links based on SONET/SDH transmission systems or on Frame Relay or ATM virtual circuits. These connection technologies are in fact widely exploited, especially for wide-area router interconnections, and are capable of limiting the fault detection time, reducing the overall routing protocol convergence time.
The case in which the routers are connected via local area networks, such as Ethernet, is different. Due to its characteristics of simplicity of use and low cost, the use of this technology is widespread, especially for local connections.
FIG. 1 shows an example of traffic rerouting in a multiaccess local network with one Ethernet switch. The configuration shown in general terms in FIG. 1 corresponds to a typical situation that occurs in some scenarios of practical interest. A typical application in this respect can be found in the context of the structure of a Point Of Presence (POP), i.e. a node of a Service Provider's IP backbone network, in order to create an interconnection, inside the POP, between routers belonging to different levels of the network structure. In this context, routers A and B may perform the link functions (gateway) to the external networks of other Service Providers or to the Internet network, while routers E and D may belong to the backbone transit segment, i.e. they terminate the wide-area connections with other POPs. A similar configuration may also be used for interconnecting Service Provider's access routers E and D, which terminate client links, with the transit routers A and B. Another possible practical application of this layout is represented by the collection and aggregation of the traffic, in local environments or distributed on a metropolitan/regional scale, of client access devices for their interconnection to the POP's routers.
With reference to FIG. 1, in normal conditions router A reaches router F via route i including link LAC, switch C, link LEC, router E, and link LEF. A fault involving link LEC causes loss of traffic originating from router A until it is rerouted. However, switch C has no way of informing router A of the fault, and therefore router A detects the fault only after losing a number of “hello” messages, with a consequent loss of traffic for at least thirty seconds (using default values). Once unreachability of router E is detected, the routing algorithm running in router A recomputes a new route j, via router D, on which the traffic directed to router F can be rerouted.
This routing inefficiency is due to the fact that switch C is not configured to propagate information regarding the state of its own interfaces to the routers, and hence the routers must rely exclusively on the “hello” messages generated by the routing protocol.
For this reason, the need is felt for solutions that allow more rapid and efficient detection of loss of reachability between neighboring routers in the network, for routing protocol purposes, which are interconnected via a local network Layer 2 switch.
The Internet-Draft “MultiAccess Reachability Protocol (MARP)” of A. Retana and R. White, submitted on March 2003 for the Network Working Group of the Internet Engineering Task Force (IETF), describes a Multiaccess Reachability Protocol (MARP) that defines a protocol to quickly determine the existence or aliveness of devices attached to a shared media (broadcast) subnet, in particular, a protocol which allows for fast discovery when a device drops off of a broadcast media link for various purposes, including loss of routing protocol neighbors, and for fast notification of loss of connectivity to devices attached to such a shared media subnet. In particular, this protocol allows a router connected to a Layer 2 network switch to request the transmission of an explicit notification message when a fault occurs that causes loss of connectivity with a neighboring router, for example, on the link between a neighboring router and the network switch.
US 2005/0018667 discloses a system and method for exchanging awareness information in a network environment, including receiving a packet at a network element and identifying a sequence number included in the packet that correlates to awareness information associated with one or more adjacent network elements. A table included in the network element may be updated in order to account for the awareness information included within the packet that has not been accounted for by the network element. In cases where the awareness information included in the packet has already been accounted for, the packet may be ignored.